mirror of
https://github.com/archtechx/tenancy.git
synced 2026-02-04 20:34:03 +00:00
finally fixed the migrations issue
This commit is contained in:
parent
170392f15f
commit
f7ca2937fd
5 changed files with 32 additions and 16 deletions
|
|
@ -11,7 +11,7 @@ class RedisStorageDriver implements StorageDriver
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->redis = Redis::connection('tenancy');
|
$this->redis = Redis::connection(config('tenancy.redis.connection', 'tenancy'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function identifyTenant(string $domain): array
|
public function identifyTenant(string $domain): array
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,17 @@ class Tenant extends Model
|
||||||
|
|
||||||
public function dataColumn()
|
public function dataColumn()
|
||||||
{
|
{
|
||||||
return config('tenancy.db_storage.data_column', 'data');
|
return config('tenancy.storage.db.data_column', 'data');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function customColumns()
|
public function customColumns()
|
||||||
{
|
{
|
||||||
return config('tenancy.db_storage.custom_columns', []);
|
return config('tenancy.storage.db.custom_columns', []);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getConnectionName()
|
||||||
|
{
|
||||||
|
return config('tenancy.storage.db.connection');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getFromData(string $key)
|
public function getFromData(string $key)
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,17 @@
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'storage_driver' => 'Stancl\Tenancy\StorageDrivers\DatabaseStorageDriver',
|
'storage_driver' => 'Stancl\Tenancy\StorageDrivers\DatabaseStorageDriver',
|
||||||
'db_storage' => [
|
'storage' => [
|
||||||
'data_column' => 'data',
|
'db' => [
|
||||||
'custom_columns' => [],
|
'data_column' => 'data',
|
||||||
|
'custom_columns' => [
|
||||||
|
// 'plan',
|
||||||
|
],
|
||||||
|
'connection' => 'central',
|
||||||
|
],
|
||||||
|
'redis' => [
|
||||||
|
'connection' => 'tenancy',
|
||||||
|
],
|
||||||
],
|
],
|
||||||
'tenant_route_namespace' => 'App\Http\Controllers',
|
'tenant_route_namespace' => 'App\Http\Controllers',
|
||||||
'exempt_domains' => [
|
'exempt_domains' => [
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,11 @@ class CreateTenantsTable extends Migration
|
||||||
public function up()
|
public function up()
|
||||||
{
|
{
|
||||||
Schema::create('tenants', function (Blueprint $table) {
|
Schema::create('tenants', function (Blueprint $table) {
|
||||||
$table->string('uuid', 36)->primary();
|
$table->string('uuid', 36)->primary(); // don't change this
|
||||||
$table->string('domain', 255)->index();
|
$table->string('domain', 255)->index(); // don't change this
|
||||||
|
|
||||||
|
// your indexed columns go here
|
||||||
|
|
||||||
$table->json('data')->default('{}');
|
$table->json('data')->default('{}');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,14 +24,8 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
Redis::connection('tenancy')->flushdb();
|
Redis::connection('tenancy')->flushdb();
|
||||||
Redis::connection('cache')->flushdb();
|
Redis::connection('cache')->flushdb();
|
||||||
|
|
||||||
// $this->loadLaravelMigrations();
|
config(['database.default' => 'central']);
|
||||||
|
$this->loadMigrationsFrom(realpath(__DIR__ . '/../src/assets/migrations'));
|
||||||
Artisan::call('migrate:install');
|
|
||||||
// $this->loadMigrationsFrom(realpath(__DIR__ . '/../src/assets/migrations'));
|
|
||||||
|
|
||||||
// Artisan::call('migrate:fresh', [
|
|
||||||
// '--path' => __DIR__ . '/../src/assets/migrations'
|
|
||||||
// ]);
|
|
||||||
|
|
||||||
if ($this->autoCreateTenant) {
|
if ($this->autoCreateTenant) {
|
||||||
$this->createTenant();
|
$this->createTenant();
|
||||||
|
|
@ -64,6 +58,8 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
\Dotenv\Dotenv::create(__DIR__ . '/..')->load();
|
\Dotenv\Dotenv::create(__DIR__ . '/..')->load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fclose(fopen(database_path('central.sqlite'), 'w'));
|
||||||
|
|
||||||
$app['config']->set([
|
$app['config']->set([
|
||||||
'database.redis.cache.host' => env('TENANCY_TEST_REDIS_HOST', '127.0.0.1'),
|
'database.redis.cache.host' => env('TENANCY_TEST_REDIS_HOST', '127.0.0.1'),
|
||||||
'database.redis.default.host' => env('TENANCY_TEST_REDIS_HOST', '127.0.0.1'),
|
'database.redis.default.host' => env('TENANCY_TEST_REDIS_HOST', '127.0.0.1'),
|
||||||
|
|
@ -77,6 +73,10 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
'database' => env('TENANCY_TEST_REDIS_DB', 14),
|
'database' => env('TENANCY_TEST_REDIS_DB', 14),
|
||||||
'prefix' => 'abc', // todo unrelated to tenancy, but this doesn't seem to have an effect? try to replicate in a fresh laravel installation
|
'prefix' => 'abc', // todo unrelated to tenancy, but this doesn't seem to have an effect? try to replicate in a fresh laravel installation
|
||||||
],
|
],
|
||||||
|
'database.connections.central' => [
|
||||||
|
'driver' => 'sqlite',
|
||||||
|
'database' => database_path('central.sqlite'),
|
||||||
|
],
|
||||||
'tenancy.database' => [
|
'tenancy.database' => [
|
||||||
'based_on' => 'sqlite',
|
'based_on' => 'sqlite',
|
||||||
'prefix' => 'tenant',
|
'prefix' => 'tenant',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue