Inhalte aufrufen

Profilbild
- - - - -

Migration from Plugin

Migration Plugin EntityFramewirk

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
6 Antworten zu diesem Thema

#1 FabianO

FabianO

    Newbie

  • Members
  • Punkt
  • 6 Beiträge

Geschrieben: 25 February 2019 - 12:22

Hi,

Aus mir nicht erklärlichen gründen kann ich keine Migration anlegen.

Mein Arbeitskollege aber schon.

Wir haben Shop mit unseren Plugins Git Versionskontrolle.

Wir haben beide laut Git den selben Code stand.

 

Hier meine fehlermeldung.

 

   bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   bei System.Data.Entity.Infrastructure.DbContextInfo.CreateInstance()
   bei System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func`1 resolver)
   bei System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase)
   bei System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
   bei System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
   bei System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.RunCore()
   bei System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
Der Typeninitialisierer für "abc.Data.abcContext" hat eine Ausnahme verursacht.

Vlt hab ihr ja eine Idee

 

Danke schon  mal 

 

Gruß

 

Fabian


  • Brantot gefällt das

#2 FabianO

FabianO

    Newbie

  • Members
  • Punkt
  • 6 Beiträge

Geschrieben: 25 February 2019 - 15:57

Hi, habe jetzt einen anderen fehler.

 

PM> add-migration MyProperty
System.ApplicationException: A connection string could not be resolved for the parameterless constructor of the derived DbContext. Either the database is not installed, or the file 'Settings.txt' does not exist or contains invalid content.
   at SmartStore.Data.ObjectContextBase.GetConnectionString()
   at SmartStore.Data.ObjectContextBase..ctor()
   at abc.SheetMetalConfigurator.Data.abcContext..ctor()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Data.Entity.Infrastructure.DbContextInfo.CreateInstance()
   at System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func`1 resolver)
   at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase)
   at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
   at System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
   at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.RunCore()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
A connection string could not be resolved for the parameterless constructor of the derived DbContext. Either the database is not installed, or the file 'Settings.txt' does not exist or contains invalid content.

Weiß nicht woran es liegt.

 

Gruß

 

Fabian


  • Brantot gefällt das

#3 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3801 Beiträge

Geschrieben: 25 February 2019 - 17:07

Ich würde auf das tippen, was die Meldung besagt: Er findet entweder die Settings.txt oder die Datenbank nicht.
Wurde wie hier beschrieben vorgegangen?

Marcus Gesing

Smartstore AG


#4 FabianO

FabianO

    Newbie

  • Members
  • Punkt
  • 6 Beiträge

Geschrieben: 26 February 2019 - 13:11

Wir benutzen: 

public class AbcBaseContext : ObjectContextBase
	{
		public const string ALIASKEY = "ABC_BASE_CONTEXT";

		static AbcBaseContext()
		{
			var initializer = new MigrateDatabaseInitializer<AbcBaseContext, Configuration>


#5 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3801 Beiträge

Geschrieben: 26 February 2019 - 14:30

Da fehlen Zeilen. Hier mal ein Beispiel einer ObjectContext Datei.
Existiert denn die Datenbank, sprich wurde die Installation ausgeführt? Ist der ConnectionString in der Settings.txt korrekt?

Marcus Gesing

Smartstore AG


#6 FabianO

FabianO

    Newbie

  • Members
  • Punkt
  • 6 Beiträge

Geschrieben: 26 February 2019 - 15:34

Hi,

Habe den Shop erfolgreich installiert. ConnectionString funktioniert auch. 

Der Shop ist ja auch Lauffähig.

 

Mein Arbeitskollege hat gerade bei sich eine Migration angelegt und mir seien Kompletten Projektordner kopiert. Alles ist identisch.

 Ich habe den die SmartStore.sln geöffnet, probiert eine Migration an zu legen und wieder Fehler bekommen.

System.ApplicationException: A connection string could not be resolved for the parameterless constructor of the derived DbContext. Either the database is not installed, or the file 'Settings.txt' does not exist or contains invalid content.
   at SmartStore.Data.ObjectContextBase.GetConnectionString()
   at SmartStore.Data.ObjectContextBase..ctor()
   at abc.Data.abcContext..ctor()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Data.Entity.Infrastructure.DbContextInfo.CreateInstance()
   at System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func`1 resolver)
   at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase)
   at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration)
   at System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration)
   at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.RunCore()
   at System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
A connection string could not be resolved for the parameterless constructor of the derived DbContext. Either the database is not installed, or the file 'Settings.txt' does not exist or contains invalid content.

Hab echt keine Ahnung woran das liegen könnte, denn alle Dateien scheinen da zu sein, und der Shop ist mit unseren Plugins Lauffähig. Schon existierende Migrations werden auch automatisch beim starten den Shops auf die Datenbank angewendet.

 

Gruß

 

Fabian



#7 FabianO

FabianO

    Newbie

  • Members
  • Punkt
  • 6 Beiträge

Geschrieben: 26 February 2019 - 16:39

Meine ganze context Datei:

using System.Data.Entity;
using SmartStore.Data;
using SmartStore.Data.Setup;
using abc.Data.EntityConfigurations;
using abc.Domain;
using abc.Migrations;

namespace abc.Data
{
	public class abcContext : ObjectContextBase
	{
		public const string ALIASKEY = "abc";

		static abcContext()
		{
			var initializer = new MigrateDatabaseInitializer<abcBaseContext, Configuration>
			{
				TablesToCheck = new[]
				{
					TableNames.test
				}
			};

			Database.SetInitializer(initializer);
		}

		/// <summary>
		/// For tooling support, e.g. EF Migrations
		/// </summary>
		public abcContext()
			: base()
		{
		}

		public abcContext(string nameOrConnectionString)
			: base(nameOrConnectionString, ALIASKEY)
		{
		}

		protected override void OnModelCreating(DbModelBuilder modelBuilder)
		{
			modelBuilder.Configurations.Add(new testRecordMap());

			base.OnModelCreating(modelBuilder);
		}

		public DbSet<test> test { get; set; }

	}
}



Auch markiert mit einem oder mehrerer dieser Schlüsselwörter: Migration, Plugin, EntityFramewirk