[Ironruby-core] Getting up and running with ActiveRecord + Sqlserver
Scott Holden
sholde4 at gmail.com
Fri Feb 19 23:13:03 EST 2010
Is there an implementation of ruby-debug-IDE for ir?
Sent from my iPhone
On Feb 19, 2010, at 7:08 PM, Shri Borde <Shri.Borde at microsoft.com>
wrote:
> Sorry, no idea about this one.
>
>
>
> I just know the failures from the unit tests. You can see the
> currently failing tests with a brief description of the failure in
> the disable_tests function in http://github.com/ironruby/ironruby/blob/master/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/active_record_tests.rb
> . I don’t see anything about mismatched types there.
>
>
>
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Scott Holden
> Sent: Friday, February 19, 2010 4:59 PM
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] Getting up and running with
> ActiveRecord + Sqlserver
>
>
>
> Shri, thanks a ton for your help. That fixed the reader is closed
> issue, but I ran into another migration problem. In
> ChangeChangesetsRevisionToString, the migration tries
>
> change_column :changesets, :revision, :string, :null => false
>
> Sqlserver is not too happy about changing int to varchar(255). I'll
> probably try to look at it some more in the morning, but if you've
> already seen this, please let me know.
>
> -Scott
>
> On Fri, Feb 19, 2010 at 5:13 PM, Shri Borde
> <Shri.Borde at microsoft.com> wrote:
>
> So you are running into “Invalid attempt to call Read when reader is
> closed”. I fixed that error in ironruby-dbi. Could you grab http://github.com/ironruby/ironruby/blob/master/Merlin/External.LCA_RESTRICTED/Languages/Ruby/ruby-1.8.6p368/lib/ruby/gems/1.8/gems/ironruby-dbi-0.1.0/lib/dbd/mssql/statement.
> rb and copy it over your ironruby-dbi gem?
>
>
>
> If you are curious, the fix involves the following lines which deal
> with the case of the reader being closed.
>
>
>
> def fetch
>
> if @reader and @reader.is_closed
>
> if @pending_fetches
>
> return @pending_fetches.shift
>
> else
>
> return nil
>
> end
>
> end
>
>
>
>
>
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Scott Holden
> Sent: Friday, February 19, 2010 2:56 PM
>
>
> To: ironruby-core at rubyforge.org
> Subject: Re: [Ironruby-core] Getting up and running with
> ActiveRecord + Sqlserver
>
>
>
> Make that 0.9.2. Apparently the 0.9 versioning is getting mixed up
> in my head :P
>
> On Fri, Feb 19, 2010 at 4:54 PM, Scott Holden <sholde4 at gmail.com>
> wrote:
>
> By the way, I'm working with Redmine 0.9.4 stable
>
>
>
> On Fri, Feb 19, 2010 at 4:53 PM, Scott Holden <sholde4 at gmail.com>
> wrote:
>
> Hah! I'm a moron. Got started looking too deep for my problems,
> missed my own stupid mistake... web^H^H^Hsqldevelopment1. Thanks a
> ton for being so helpful.
>
> I'm trying migrations from Redmine, but blowing up on
> 044_set_language_length_to_five.
>
> Line 3 seems to be the issue:
>
> change_column :users, :language, :string, :limit => 5, :default => ""
>
> Here's my trace:
>
>
>
> C:\Documents and Settings\sholden\My Documents\NetBeansProjects
> \redmine>irake db:migrate --trace
> (in C:/Documents and Settings/sholden/My Documents/NetBeansProjects/
> redmine)
> ** Invoke db:migrate (first_time)
> ** Invoke environment (first_time)
> ** Execute environment
>
> ** Execute db:migrate
> == Setup: migrating
> ==========================================================
> -- create_table("attachments", {:force=>true})
> -> 0.1406s
> -- create_table("auth_sources", {:force=>true})
> -> 0.0313s
> -- create_table("custom_fields", {:force=>true})
> -> 0.0156s
> -- create_table("custom_fields_projects", {:id=>false, :force=>true})
> -> 0.0156s
> -- create_table("custom_fields_trackers", {:id=>false, :force=>true})
> -> 0.0469s
> -- create_table("custom_values", {:force=>true})
> -> 0.0313s
> -- create_table("documents", {:force=>true})
> -> 0.0313s
> -- add_index("documents", ["project_id"],
> {:name=>"documents_project_id"})
> -> 0.0000s
> -- create_table("enumerations", {:force=>true})
> -> 0.0625s
> -- create_table("issue_categories", {:force=>true})
> -> 0.0313s
> -- add_index("issue_categories", ["project_id"],
> {:name=>"issue_categories_project_id"})
> -> 0.0313s
> -- create_table("issue_histories", {:force=>true})
> -> 0.0781s
> -- add_index("issue_histories", ["issue_id"],
> {:name=>"issue_histories_issue_id"})
> -> 0.0000s
> -- create_table("issue_statuses", {:force=>true})
> -> 0.0781s
> -- create_table("issues", {:force=>true})
> -> 0.0469s
> -- add_index("issues", ["project_id"], {:name=>"issues_project_id"})
> -> 0.0000s
> -- create_table("members", {:force=>true})
> -> 0.0156s
> -- create_table("news", {:force=>true})
> -> 0.0625s
> -- add_index("news", ["project_id"], {:name=>"news_project_id"})
> -> 0.0000s
> -- create_table("permissions", {:force=>true})
> -> 0.0313s
> -- create_table("permissions_roles", {:id=>false, :force=>true})
> -> 0.0156s
> -- add_index("permissions_roles", ["role_id"],
> {:name=>"permissions_roles_role_id"})
> -> 0.0156s
> -- create_table("projects", {:force=>true})
> -> 0.0313s
> -- create_table("roles", {:force=>true})
> -> 0.0156s
> -- create_table("tokens", {:force=>true})
> -> 0.0313s
> -- create_table("trackers", {:force=>true})
> -> 0.0313s
> -- create_table("users", {:force=>true})
> -> 0.0313s
> -- create_table("versions", {:force=>true})
> -> 0.0313s
> -- add_index("versions", ["project_id"],
> {:name=>"versions_project_id"})
> -> 0.0000s
> -- create_table("workflows", {:force=>true})
> -> 0.0313s
> == Setup: migrated (2.4844s)
> =================================================
>
> == IssueMove: migrating
> ======================================================
> == IssueMove: migrated (0.1094s)
> =============================================
>
> == IssueAddNote: migrating
> ===================================================
> == IssueAddNote: migrated (0.1406s)
> ==========================================
>
> == ExportPdf: migrating
> ======================================================
> == ExportPdf: migrated (0.1250s)
> =============================================
>
> == IssueStartDate: migrating
> =================================================
> -- add_column(:issues, :start_date, :date)
> -> 0.0000s
> -- add_column(:issues, :done_ratio, :integer,
> {:default=>0, :null=>false})
> -> 0.0313s
> == IssueStartDate: migrated (0.0469s)
> ========================================
>
> == CalendarAndActivity: migrating
> ============================================
> == CalendarAndActivity: migrated (0.1250s)
> ===================================
>
> == CreateJournals: migrating
> =================================================
> -- create_table(:journals, {:force=>true})
> -> 0.0469s
> -- create_table(:journal_details, {:force=>true})
> -> 0.0313s
> -- add_index("journals", ["journalized_id", "journalized_type"],
> {:name=>"journals_journalized_id"})
> -> 0.0156s
> -- add_index("journal_details", ["journal_id"],
> {:name=>"journal_details_journal_id"})
> -> 0.0156s
> -- drop_table(:issue_histories)
> -> 0.0156s
> == CreateJournals: migrated (0.3750s)
> ========================================
>
> == CreateUserPreferences: migrating
> ==========================================
> -- create_table(:user_preferences)
> -> 0.0156s
> == CreateUserPreferences: migrated (0.0156s)
> =================================
>
> == AddHideMailPref: migrating
> ================================================
> -- add_column(:user_preferences, :hide_mail, :boolean,
> {:default=>false})
> -> 0.0156s
> == AddHideMailPref: migrated (0.0156s)
> =======================================
>
> == CreateComments: migrating
> =================================================
> -- create_table(:comments)
> -> 0.0156s
> == CreateComments: migrated (0.0156s)
> ========================================
>
> == AddNewsCommentsCount: migrating
> ===========================================
> -- add_column(:news, :comments_count, :integer,
> {:default=>0, :null=>false})
> -> 0.0156s
> == AddNewsCommentsCount: migrated (0.0156s)
> ==================================
>
> == AddCommentsPermissions: migrating
> =========================================
> == AddCommentsPermissions: migrated (0.1094s)
> ================================
>
> == CreateQueries: migrating
> ==================================================
> -- create_table(:queries, {:force=>true})
> -> 0.0313s
> == CreateQueries: migrated (0.0313s)
> =========================================
>
> == AddQueriesPermissions: migrating
> ==========================================
> == AddQueriesPermissions: migrated (0.0938s)
> =================================
>
> == CreateRepositories: migrating
> =============================================
> -- create_table(:repositories, {:force=>true})
> -> 0.0313s
> == CreateRepositories: migrated (0.0313s)
> ====================================
>
> == AddRepositoriesPermissions: migrating
> =====================================
> == AddRepositoriesPermissions: migrated (0.1563s)
> ============================
>
> == CreateSettings: migrating
> =================================================
> -- create_table(:settings, {:force=>true})
> -> 0.0156s
> == CreateSettings: migrated (0.0313s)
> ========================================
>
> == SetDocAndFilesNotifications: migrating
> ====================================
> == SetDocAndFilesNotifications: migrated (0.2031s)
> ===========================
>
> == AddIssueStatusPosition: migrating
> =========================================
> -- add_column(:issue_statuses, :position, :integer, {:default=>1})
> -> 0.0156s
> == AddIssueStatusPosition: migrated (0.0781s)
> ================================
>
> == AddRolePosition: migrating
> ================================================
> -- add_column(:roles, :position, :integer, {:default=>1})
> -> 0.0156s
> == AddRolePosition: migrated (0.1719s)
> =======================================
>
> == AddTrackerPosition: migrating
> =============================================
> -- add_column(:trackers, :position, :integer, {:default=>1})
> -> 0.0156s
> == AddTrackerPosition: migrated (0.0625s)
> ====================================
>
> == SerializePossiblesValues: migrating
> =======================================
> == SerializePossiblesValues: migrated (0.0469s)
> ==============================
>
> == AddTrackerIsInRoadmap: migrating
> ==========================================
> -- add_column(:trackers, :is_in_roadmap, :boolean,
> {:default=>true, :null=>false})
> -> 0.0000s
> == AddTrackerIsInRoadmap: migrated (0.0000s)
> =================================
>
> == AddRoadmapPermission: migrating
> ===========================================
> == AddRoadmapPermission: migrated (0.1250s)
> ==================================
>
> == AddSearchPermission: migrating
> ============================================
> == AddSearchPermission: migrated (0.0938s)
> ===================================
>
> == AddRepositoryLoginAndPassword: migrating
> ==================================
> -- add_column(:repositories, :login, :string,
> {:limit=>60, :default=>""})
> -> 0.0000s
> -- add_column(:repositories, :password, :string,
> {:limit=>60, :default=>""})
> -> 0.0313s
> == AddRepositoryLoginAndPassword: migrated (0.0313s)
> =========================
>
> == CreateWikis: migrating
> ====================================================
> -- create_table(:wikis)
> -> 0.0000s
> -- add_index(:wikis, :project_id, {:name=>:wikis_project_id})
> -> 0.0000s
> == CreateWikis: migrated (0.0313s)
> ===========================================
>
> == CreateWikiPages: migrating
> ================================================
> -- create_table(:wiki_pages)
> -> 0.0156s
> -- add_index(:wiki_pages, [:wiki_id, :title],
> {:name=>:wiki_pages_wiki_id_title})
> -> 0.0156s
> == CreateWikiPages: migrated (0.0313s)
> =======================================
>
> == CreateWikiContents: migrating
> =============================================
> -- create_table(:wiki_contents)
> -> 0.0156s
> -- add_index(:wiki_contents, :page_id,
> {:name=>:wiki_contents_page_id})
> -> 0.0000s
> -- create_table(:wiki_content_versions)
> -> 0.0313s
> -- add_index(:wiki_content_versions, :wiki_content_id,
> {:name=>:wiki_content_versions_wcid})
> -> 0.0000s
> == CreateWikiContents: migrated (0.0469s)
> ====================================
>
> == AddProjectsFeedsPermissions: migrating
> ====================================
> == AddProjectsFeedsPermissions: migrated (0.0938s)
> ===========================
>
> == AddRepositoryRootUrl: migrating
> ===========================================
> -- add_column(:repositories, :root_url, :string,
> {:limit=>255, :default=>""})
> -> 0.0000s
> == AddRepositoryRootUrl: migrated (0.0156s)
> ==================================
>
> == CreateTimeEntries: migrating
> ==============================================
> -- create_table(:time_entries)
> -> 0.0156s
> -- add_index(:time_entries, [:project_id],
> {:name=>:time_entries_project_id})
> -> 0.0000s
> -- add_index(:time_entries, [:issue_id],
> {:name=>:time_entries_issue_id})
> -> 0.0156s
> == CreateTimeEntries: migrated (0.0313s)
> =====================================
>
> == AddTimelogPermissions: migrating
> ==========================================
> == AddTimelogPermissions: migrated (0.0938s)
> =================================
>
> == CreateChangesets: migrating
> ===============================================
> -- create_table(:changesets)
> -> 0.0000s
> -- add_index(:changesets, [:repository_id, :revision],
> {:unique=>true, :name=>:changesets_repos_rev})
> -> 0.0156s
> == CreateChangesets: migrated (0.0313s)
> ======================================
>
> == CreateChanges: migrating
> ==================================================
> -- create_table(:changes)
> -> 0.0313s
> -- add_index(:changes, [:changeset_id],
> {:name=>:changesets_changeset_id})
> -> 0.0000s
> == CreateChanges: migrated (0.0313s)
> =========================================
>
> == AddChangesetCommitDate: migrating
> =========================================
> -- add_column(:changesets, :commit_date, :date)
> -> 0.0156s
> == AddChangesetCommitDate: migrated (0.0313s)
> ================================
>
> == AddProjectIdentifier: migrating
> ===========================================
> -- add_column(:projects, :identifier, :string, {:limit=>20})
> -> 0.0000s
> == AddProjectIdentifier: migrated (0.0000s)
> ==================================
>
> == AddCustomFieldIsFilter: migrating
> =========================================
> -- add_column(:custom_fields, :is_filter, :boolean,
> {:null=>false, :default=>false})
> -> 0.0000s
> == AddCustomFieldIsFilter: migrated (0.0000s)
> ================================
>
> == CreateWatchers: migrating
> =================================================
> -- create_table(:watchers)
> -> 0.0156s
> == CreateWatchers: migrated (0.0156s)
> ========================================
>
> == CreateChangesetsIssues: migrating
> =========================================
> -- create_table(:changesets_issues, {:id=>false})
> -> 0.0156s
> -- add_index(:changesets_issues, [:changeset_id, :issue_id],
> {:unique=>true, :name=>:changesets_issues_ids})
> -> 0.0000s
> == CreateChangesetsIssues: migrated (0.0156s)
> ================================
>
> == RenameCommentToComments: migrating
> ========================================
> == RenameCommentToComments: migrated (0.4063s)
> ===============================
>
> == CreateIssueRelations: migrating
> ===========================================
> -- create_table(:issue_relations)
> -> 0.0156s
> == CreateIssueRelations: migrated (0.0156s)
> ==================================
>
> == AddRelationsPermissions: migrating
> ========================================
> == AddRelationsPermissions: migrated (0.1250s)
> ===============================
>
> == SetLanguageLengthToFive: migrating
> ========================================
> -- change_column(:users, :language, :string,
> {:limit=>5, :default=>""})
> rake aborted!
> An error has occurred, this and all later migrations canceled:
>
> Invalid attempt to call Read when reader is closed.
> System.Data:0:in `ReadInternal'
> System.Data:0:in `Read'
> statement.rb:48:in `fetch'
> statement.rb:207:in `fetch'
> statement.rb:236:in `each'
> IronRuby.Libraries:0:in `Each'
> :0:in `inject'
> sqlserver_adapter.rb:878:in `handle_as_array'
>
>
> sqlserver_adapter.rb:862:in `raw_select'
>
> sqlserver_adapter.rb:814:in `select'
> database_statements.rb:6:in `select_all'
> query_cache.rb:58:in `select_all_with_query_cache'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> activerecord-sqlserver-adapter-2.3.1/lib/active_record/conn
> ection_adapters/sqlserver_adapter.rb:911:in
> `remove_default_constraint'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> activerecord-sqlserver-adapter-2.3.1/lib/active_record/conn
> ection_adapters/sqlserver_adapter.rb:655:in `change_column'
> :0:in `__send__'
> migration.rb:348:in `method_missing'
> migration.rb:328:in `say_with_time'
> benchmark.rb:291:in `measure'
> migration.rb:325:in `say_with_time'
> migration.rb:345:in `method_missing'
> ./db/migrate/044_set_language_length_to_five.rb:3:in `up'
> :0:in `send'
> migration.rb:282:in `migrate'
> benchmark.rb:291:in `measure'
> migration.rb:273:in `migrate'
> :0:in `send'
> C:1:in `migrate'
> migration.rb:485:in `migrate'
> :0:in `call'
> migration.rb:560:in `ddl_transaction'
> database_statements.rb:113:in `transaction'
> transactions.rb:180:in `transaction'
> migration.rb:558:in `ddl_transaction'
> migration.rb:472:in `migrate'
> :0:in `each'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> activerecord-2.3.5/lib/active_record/migration.rb:472:in `m
> igrate'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> activerecord-2.3.5/lib/active_record/migration.rb:400:in `u
> p'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> activerecord-2.3.5/lib/active_record/migration.rb:383:in `m
> igrate'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rails-2.3.5/lib/tasks/databases.rake:116
> :0:in `[]'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:636:in `execute'
> :0:in `each'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:631:in `execute'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
>
>
> C:/Program Files/IronRuby 0.9.4.0/lib/ruby/1.8/monitor.rb:242:in
> `mon_synchronize'
>
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:583:in `invoke'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2029:in `top_level'
> :0:in `each'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2029:in `top_level'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling
> '
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2023:in `top_level'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2001:in `run'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling
> '
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/lib/rake.rb:1998:in `run'
> C:/Program Files/IronRuby 0.9.4.0/lib/ironruby/gems/1.8/gems/
> rake-0.8.7/bin/rake:31
> :0:in `load'
> C:/Program Files/IronRuby 0.9.4.0/bin/irake:19
>
>
>
> On Fri, Feb 19, 2010 at 4:36 PM, Shri Borde
> <Shri.Borde at microsoft.com> wrote:
>
> We can lock back to 2.3 which is the version that we check against.
> Is the connection problem related to IronRuby or specific to your
> setup?
>
>
>
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Scott Holden
> Sent: Friday, February 19, 2010 2:29 PM
>
>
> To: ironruby-core at rubyforge.org
>
> Subject: Re: [Ironruby-core] Getting up and running with
> ActiveRecord + Sqlserver
>
>
>
> Locking down 2.3.1 fixed the old error, now I'm just having a
> connection problem. BTW, there's no remote gem for 2.3.1, so people
> will need to pull it from github and build it themselves for now.
> Here's my database.yml:
>
> development:
> mode: ADONET
> adapter: sqlserver
> host: webdevelopment1
> database: redmine_development
> integrated_security: true
>
> On Fri, Feb 19, 2010 at 2:25 PM, Shri Borde
> <Shri.Borde at microsoft.com> wrote:
>
> Scott, I see you are using 2.3.4 of the activerecord-sqlserver-
> adapter gem. Can you lock down on 2.3.1 of the gem instead using
> something like the following in your Ruby code before you do “requir
> e ‘ironruby-sqlserver’”:
>
>
>
> gem “activerecord-sqlserver-adapter”, “= 2.3.1”
>
>
>
> They dropped support for DBI within the last week. The links below
> have info about the change.
>
> http://groups.google.com/group/rails-sqlserver-adapter/browse_thread/thread/4cf40c1330aef3a?hl=en
>
> http://groups.google.com/group/rails-sqlserver-adapter/browse_thread/thread/647522f857e3c31c?hl=en
>
>
>
> If locking down on 2.3.1 works for you, we can just add that to
> ironruby-sqlserver.
>
>
>
>
>
> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-
> bounces at rubyforge.org] On Behalf Of Scott Holden
> Sent: Friday, February 19, 2010 11:25 AM
> To: ironruby-core at rubyforge.org
> Subject: [Ironruby-core] Getting up and running with ActiveRecord +
> Sqlserver
>
>
>
> I'm trying to follow the example given at http://ironruby.net/Documentation/Real_Ruby_Applications/
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core at rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100219/bab5beab/attachment-0001.html>
More information about the Ironruby-core
mailing list