gpt4 book ai didi

database - ActiveRecord 可以在迁移之外创建表吗?

转载 作者:太空狗 更新时间:2023-10-30 01:43:01 27 4
gpt4 key购买 nike

我正在开发一个非 Rails 网络应用程序,因此默认情况下没有迁移脚本。

Sequel ORM 让我可以在脚本中轻松创建表:

#!/usr/bin/env ruby

require 'rubygems'
require 'sequel'

## Connect to the database
DB = Sequel.sqlite('./ex1.db')

unless DB.table_exists? :posts
DB.create_table :posts do
primary_key :id
varchar :title
text :body
end
end

有没有办法在迁移之外使用 ActiveRecord 做到这一点?

最佳答案

我目前的理解是不,所有修改数据或模式都必须通过迁移来完成。我有 a complete rakefile on github可用于在 Rails 之外执行迁移。

或者,如果它只是一个初始化脚本,则可以使用以下内容。

ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:database => './lesson1_AR.db'
)

ActiveRecord::Migration.class_eval do
create_table :posts do |t|
t.string :title
t.text :body
end

create_table :people do |t|
t.string :first_name
t.string :last_name
t.string :short_name
end

create_table :tags do |t|
t.string :tags
end
end

关于database - ActiveRecord 可以在迁移之外创建表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2358903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com