草庐IT

oracle迁移Oracle

全部标签

ruby - 如何在没有 rails 的情况下禁用 activerecord-oracle_enhanced-adapter 中的序列?

我只使用ActiveRecord对遗留Oracle数据库进行一些开发。我的适配器是activerecord-oracle_enhanced-adapter(https://github.com/rsim/oracle-enhanced)。所以我不想让AR处理主键生成。如何禁用序列生成的主键?classUser然后我得到了错误:stmt.c:230:inoci8lib_191.so:ORA-02289:sequencedoesnotexist(OCIError)当我将代码更改为classUser我得到另一个错误:stmt.c:230:inoci8lib_191.so:ORA-00936:

ruby-on-rails - 如何在 Rails 中创建可逆迁移助手?

我发现自己必须在Rails应用程序的多个表上执行非常相似的sql语句(除了表名外可能还有1个参数)。结果,我得到了很多看起来相似的迁移,比如这个:classDoSomeSQLOnUser然后我对客户、销售等也有同样的看法。我想扩展ActiveRecord::Migration以便我可以这样做:classDoSomeSQLOnUser我该怎么做?当操作分为上下时,我想我知道怎么做了,就像这样:classDoSomeSQLOnUser但这样做是为了让变化是“可逆的”,这让我不知所措。 最佳答案 这似乎不是官方支持的方式,因此您可能需要打

ruby-on-rails - 添加设备生成的用户表时,Rails 数据库迁移失败并显示 "duplicate column name: email"

我正在安装devise。我遵循了所有必需的步骤并在此处结束:$railsgeneratedeviseUser$rakedb:migrate当我运行rakedb:migrate时,出现以下错误:$rakedb:migrate==20140618020442AddDeviseToUsers:migrating=================================--change_table(:users)rakeaborted!StandardError:Anerrorhasoccurred,thisandalllatermigrationscanceled:SQLite3::

ruby-on-rails - 用于安装仅执行一次的 gem 迁移的 Rake 任务

为什么这个rake任务gems=%w(gem1gem2gem3)namespace:gemsdonamespace:installdodesc"Runsinstall:migrationsforallgems"task:migrationsdogems.eachdo|gem_name|print"\nInstallingmigrationsforthe#{gem_name}gem...\n"Rake::Task["#{gem_name}:install:migrations"].invokeendprint"\n\nGemmigrationsinstalled."endendend只实

ruby-on-rails - 销毁无效迁移

这里是Rails的新手。关于迁移的几个问题:我创建了一个我不再需要的迁移。我想删除它。正确的命令是railsdestroymigrationAddMyColumnToMyModel吗?假设我输错了我想要销毁的迁移名称...以下是当我尝试销毁不存在的迁移时发生的情况。$railsdestroymigrationBlahinvokeactive_recordremovemigration.rb它说它正在删除migration.rb...这是一件坏事吗? 最佳答案 当然,这是正确的命令。请注意:如果您实际上通过使用rakedb:migra

ruby-on-rails - Rails 在初始迁移期间在 schema_migrations 表中查找不存在的 ID 列

在新数据库上运行迁移会导致以下错误。>>rakedb:drop;rakedb:create:all;rakedb:migrate1activity-image-additions-!?==CreateSomething:migrating================================================--create_table(:somethings)->0.0042s==CreateSomething:migrated(0.0043s)=======================================rakeaborted!Anerror

ruby-on-rails - 回滚后是否应该删除迁移

我对ruby​​和rails还很陌生,刚刚开始了解迁移。我的问题是在回滚后删除迁移的最佳做法或正确时间是什么。到目前为止,我所读到的是关于是否在回滚后删除迁移的意见,但是在团队中工作时删除迁移是否有任何重大影响,保留迁移文件有什么好处而不是删除是吗?就我而言,什么最有意义?我有我的原始迁移文件20140731141350_create_users.rbclassCreateUsers我需要向其中添加一个salt列,因此我创建了迁移20140804125449_add_salt_colum_to_users.rbclassAddSaltColumToUsers但在开发过程中我意识到sal

ruby - Rails 在迁移之间共享代码(又名关注点)

我在相同的助手中进行了一些迁移privatedefadd_earthdistance_indextable_name,options={}execute"CREATEINDEX%s_earthdistance_ixON%sUSINGgist(ll_to_earth(%s,%s));"%[table_name,table_name,'latitude','longitude']enddefremove_earthdistance_indextable_nameexecute"DROPINDEX%s_earthdistance_ix;"%[table_name]end而且我尽量避免每次都复

oracle查询表空间大小以及每个表所占空间的大小

1、查询数据库中所有的表空间以及表空间所占空间的大小,直接执行语句就可以了:selecttablespace_name,sum(bytes)/1024/1024fromdba_data_filesgroupbytablespace_name;2、查看表空间物理文件的名称及大小selecttablespace_name,file_id,file_name,round(bytes/(1024*1024),0)total_spacefromdba_data_filesorderbytablespace_name;3、查询所有表空间以及每个表空间的大小,已用空间,剩余空间,使用率和空闲率,直接执行语句

ruby-on-rails - Ruby on Rails Oracle 编码

我似乎无法在我的OracleRoRcombi上获得正确的编码。Oracle数据库中的信息似乎编码正确。当通过SQL查找需要特殊编码的属性时,我得到例如“Straße”,这正是我所期望的。当从我的RoR应用程序请求相同的属性时,我得到“Stra?e”,这显然是不正确的。Oracle服务器上ENV中的NLS_LANG=AMERICAN_AMERICA.AL32UTF8我的RoR应用程序中database.yml中的编码=utf8Oracle数据库的NLS_NCHAR_CHARACTERSET=AL16UTF16我通过更改上面的参数尝试了几种不同的方法,但没有任何效果。有人有好主意吗?