###前提・実現したいこと
SinatraでWebアプリを作成しています。
SequelでDB作成時にprimary keyに任意の値を使用したいため
unrestrict_primary_keyを指定したのですが
作成されたDBのカラムにprimary key制約がついていない状態で作成されてしまいます。
primary keyに任意の値を使用できなおかつ制約も無くさないようにするにはどのようにすれば良いのでしょうか?
###該当のソースコード
require 'sequel' namespace :db_migrate_task do desc "create db task!!" task :create_db do unless FileTest.exist?('db') Dir::mkdir('db') end DB = Sequel.sqlite('db/journal.db',{}) unless DB.table_exists?(:article) DB.create_table :article do unrestrict_primary_key :article_id String :text DateTime :create_date DateTime :update_date end end unless DB.table_exists?(:tag) DB.create_table :tag do unrestrict_primary_key :tag_id String :name end end unless DB.table_exists?(:article_tags) DB.create_table :article_tags do foreign_key :article_id, :article foreign_key :tag_id, :tag end end puts 'create db!!' end end
###試したこと
DB作成後にalter_tableでadd_primary_keyで制約を足せることは確認できたのですが
作成時にできたらと思い質問させていただきました。
###補足情報(言語/FW/ツール等のバージョンなど)
rake (12.3.0)
sequel (5.4.0)
sinatra (2.0.0)
sqlite3 (1.3.13 x64-mingw32)
あなたの回答
tips
プレビュー