Slide 1

Slide 1 text

Rails 2 022 . 8 . 2 5 Thu 
 toB 


Slide 2

Slide 2 text

yt-tkhs yt_hizi Android 
 2021 7 Flutter / Rails

Slide 3

Slide 3 text

: atohama 
 SaaS

Slide 4

Slide 4 text


 UUUO 
 atohama 1 Rails ߪೖऀ༻ΞϓϦ ग़඼༻ΞϓϦ ߪೖऀ༻ΞϓϦ αʔόʔ

Slide 5

Slide 5 text

( ) 
 


Slide 6

Slide 6 text

: https://d 1 .awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf

Slide 7

Slide 7 text

: https://d 1 .awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf 


Slide 8

Slide 8 text

citusdata/activerecord-multi-tenant gem User.all SELECT * FROM users; SELECT * FROM users WHERE tenant_id = 1;

Slide 9

Slide 9 text

⾒ ID (Push )

Slide 10

Slide 10 text

ID (Push )

Slide 11

Slide 11 text

ID class Organization UUUO_ID = 1.freeze def uuuo? id == UUUO_ID end end

Slide 12

Slide 12 text

ID :

Slide 13

Slide 13 text

( ) ( ) ( )

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text


 ( )

Slide 16

Slide 16 text

Before 1 . 2 . 1 . 2 . 3 . After

Slide 17

Slide 17 text

Before 1 . 2 . 1 . 2 . 3 . After

Slide 18

Slide 18 text

class Organization def tenant_owner? id == tenant.owner_organization_id end def tenant_admin? is_admin end end

Slide 19

Slide 19 text

class Organization def tenant_owner? id == tenant.owner_organization_id end def tenant_admin? is_admin end end ID

Slide 20

Slide 20 text

class Organization def tenant_owner? id == tenant.owner_organization_id end def tenant_admin? is_admin end end

Slide 21

Slide 21 text

: ID 
 


Slide 22

Slide 22 text

ID ID 
 UUUO 
 atohama ߪೖऀ༻ΞϓϦ ग़඼༻ΞϓϦ ߪೖऀ༻ΞϓϦ αʔόʔ

Slide 23

Slide 23 text

ID Push ID Push UUUO jp.uuuo.maehama jp.uuuo.atohama A jp.uuuo.atohama.xxx

Slide 24

Slide 24 text

ID 
 ID 
 ( DB ) 
 ID

Slide 25

Slide 25 text

ID : ID 
 ⾒ 
 


Slide 26

Slide 26 text

⾒ ID (Push )

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

citusdata/activerecord-multi-tenant 
 
 
 
 


Slide 29

Slide 29 text

Thank you! microsoft/fluentui-emoji: https://github.com/microsoft/fluentui-emoji/blob/main/LICENSE